Data converters, for example, digital-to-analog converters (DAC) and analog-to-digital converters (ADC), are ubiquitous in applications involving digital signal processing of real-world signals such as those found in communication systems, instrumentation, and audio and video processing systems.
Two major issues for DAC design are monotonicity and resolution. Monotonicity means that as the digital value becomes greater, the converted analog value must also become greater. Many DAC building blocks require guaranteed monotonicity with moderate clock rate and moderate design complexity. Examples include a DAC in a digitally controlled oscillator within the PLL loop, or a DAC in a digitally controlled crystal oscillator in an automatic frequency control loop. The matching between different DAC elements is usually required to guarantee monotonic behavior. With the scaling down of integrated circuit manufacturing processes, the physical sizes of the DAC elements becomes smaller, and it is therefore more difficult to control the sizes of DAC elements, which must be matched to achieve monotonicity. As a result, the physical sizes of the DAC elements are limited by the matching requirement, thus the DAC does not benefit from the process scaling.
One type of DAC that has guaranteed monotonicity is a thermometer DAC. It is so named because it is similar to a mercury thermometer, where the mercury column always rises to the appropriate temperature and no mercury is present above that temperature. Typically, the input digital signal is binary and the binary code is converted to a thermometer code. The thermometer code is then used to control thermometer elements to generate an analog signal. For a thermometer DAC, elements are all of the same size, so that element matching becomes much simpler than in the binary case. Considering the transfer function, the thermometer converter is monotonic by design. This is because that when the input value increases, the bits change from 0 to 1 only. The requirement on element matching is hence relaxed in the thermometer DAC and the monotonicity is guaranteed.
In conventional DACs, thermometer coding may be combined with binary coding to achieve the digital-to-analog conversion for any digital number within the conversion range. For example, for a 12-bit DAC, the 12 bits are divided into 6 most-significant bits (MSB) and 6 least-significant bits (LSB). The MSBs are converted to a 63-bit thermometer code, with each bit (thermometer bits) corresponding to one of the macros. Each of the macros is capable of providing a current corresponding to 64 times the unit current, wherein the unit current is the current representing the lowest bit of the LSB. Each of the MSB macros thus needs to provide exactly 64 times the unit current. Accordingly, the MSB macros need to be calibrated.
Conventionally, the calibration of a DAC was performed at the power-on time of the DAC. In the calibration process, the total current (known as LSB sum) that can be provided by the LSB bits is measured. In the above-discussed example, the LSB sum should be a value close to 64 times the unit current, with a possible slight variation. The measured LSB sum is then used to calibrate each of the MSB thermometer bits, so that the current provided by each of the MSB bits equals the LSB sum.
The conventional calibration process, however, suffers from drawbacks. During the usage of the DAC, temperature and voltage induced variations may occur, and the LSB sum may drift away. As a result, each of the MSB bits may no longer provide the same current as the drifted LSB sum. The monotonicity between LSB and MSB is hence no longer maintained. Therefore, new calibration methods are needed to solve the above-discussed problems.